Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[updated] Incorporate Cajita / Cabana::Grid load balancer #113

Merged
merged 9 commits into from
Sep 16, 2024

Conversation

cz4rs
Copy link
Contributor

@cz4rs cz4rs commented Jun 24, 2024

Updated version of #104. I haven't touched the logic of it all, just a rebase, clean-up and dropping some redundant changes.

  • resolved all conflicts and fixed deprecation warnings
  • added --sparse command line flag for an unbalanced system to avoid having to change the source
  • fixed data files naming scheme to facilitate processing the output with ParaView

@cz4rs
Copy link
Contributor Author

cz4rs commented Jun 24, 2024

@streeve @aetx This is an updated version of PR #104 (see PR description for an overview of changes). The CI is pending approval, but based on the runs in my fork (cz4rs#1), all builds are passing.
Was there any reason that #104 was not merged?

For the context, we are exploring using CabanaMD as a benchmark for load balancing with communication.

@aetx
Copy link
Collaborator

aetx commented Jun 24, 2024

If I remember correctly, the only ugly hack was in cabanamd_impl.h to create an unbalanced load. By default, the whole system is uniformly filled (see #104 (comment)).

I don't remember another reason for it being not merged.

@streeve
Copy link
Member

streeve commented Aug 30, 2024

Sorry I lost track of this PR and thanks very much for pushing this forward. Would you be okay with merging your general (and very helpful) changes in one PR, then merging the load balancing in a second?

@cz4rs
Copy link
Contributor Author

cz4rs commented Aug 30, 2024 via email

@cz4rs
Copy link
Contributor Author

cz4rs commented Sep 10, 2024

@streeve Please have a look.
This is pretty much just a cleaned up version of #104. I have rebased this on top of master and cleaned up my commits a bit.

I have some more changes (extending LAMMPS commands support) in DARMA-tasking#3, I will post those in a separate PR.

@cz4rs
Copy link
Contributor Author

cz4rs commented Sep 16, 2024

@streeve Ping

Copy link
Member

@streeve streeve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reminder. Do you mind squashing @aetx's changes into a single "add Cabana load balancing" commit? Otherwise a couple very minor points and we can (finally) get this in

src/inputCL.cpp Outdated Show resolved Hide resolved
@@ -455,7 +512,14 @@ void InputFile<t_System>::create_lattice( Comm<t_System> *comm )
T_X_FLOAT max_z = lattice_constant * lattice_nz;
std::array<T_X_FLOAT, 3> global_low = { 0.0, 0.0, 0.0 };
std::array<T_X_FLOAT, 3> global_high = { max_x, max_y, max_z };
system->create_domain( global_low, global_high );
if ( commandline.sparse )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this commandline arg is already set up, can we input the multiplier here instead of assuming 2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I have missed this somehow 🤦‍♂️

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that was the original behavior to get results, but this will be much more general

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Example below with 1.5 multiplier (mpiexec -n 8 ./build/bin/cbnMD -il input/in.lj --vacuum 1.5).

image

@cz4rs cz4rs force-pushed the cabana_lb branch 2 times, most recently from 05ccc9c to 06c5a50 Compare September 16, 2024 17:09
Copy link
Member

@streeve streeve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - thanks one more time to @aetx for the original work and @cz4rs for getting this over the finish line

@streeve streeve merged commit 448833d into ECP-copa:master Sep 16, 2024
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants